<?php

/*
 * Created by: Dikkehein <Clemens Wijnekus, c.wijnekus@gmail.com>
 */


if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class Gebruiker_model extends CI_Model {

    function __construct() {
        parent::__construct();
    }

    public function bestaat($email) {
        $this->db->where('email', $email);
        $query = $this->db->get('gebruiker');
        return $query;
    }

    public function alle_gebruikers() {
        return $this->db->get('gebruiker');
    }

    public function aanmaken($data) {
        if ($this->db->insert('gebruiker', $data)) {
            return true;
        } else {
            return false;
        }
    }

    public function wijzigen($id, $data) {
        $this->db->where('id', $id);
        if ($this->db->update('gebruiker', $data)) {
            return true;
        } else {
            return false;
        }
    }

    public function gebruiker($id) {
        $this->db->where('id', $id);
        return $this->db->get('gebruiker');
    }

    public function verwijderen($id) {
        $this->db->where('id', $id);
        if ($this->db->delete('gebruiker')) {
            return true;
        } else {
            return false;
        }
    }

    public function gebruikers_kampjaar($jaar) {
        $this->db->join('kampjaar_gebruiker', 'gebruiker.id = kampjaar_gebruiker.gebruiker_id');
        $this->db->where('kampjaar_gebruiker.kampjaar', $jaar);
        $query = $this->db->get('gebruiker');
        return $query->result_array();
    }

    // Haalt alle gebruikers op die niet aan het specifieke kampjaar zijn gekoppeld.
    public function mogelijke_gebruikers_kampjaar($id) {
        $gebruikers['query'] = $this->gebruikers_kampjaar($id);

        $ids = array();
        foreach ($gebruikers['query']->result() as $gebr) {
            array_push($ids, $gebr->id);
        }
        if (!empty($ids)) {
            $this->db->where_not_in('id', $ids); 
        } 
        return $this->db->get('gebruiker');
    }

}
